[INFO] fetching crate lifxi 0.1.1...
[INFO] checking lifxi-0.1.1 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate lifxi 0.1.1 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate lifxi 0.1.1 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate lifxi 0.1.1
[INFO] finished tweaking crates.io crate lifxi 0.1.1
[INFO] tweaked toml for crates.io crate lifxi 0.1.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d37c989d3d422af35f682e61c9ec59819406f0f71823517d5df363798875740e
[INFO] running `Command { std: "docker" "start" "-a" "d37c989d3d422af35f682e61c9ec59819406f0f71823517d5df363798875740e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d37c989d3d422af35f682e61c9ec59819406f0f71823517d5df363798875740e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d37c989d3d422af35f682e61c9ec59819406f0f71823517d5df363798875740e", kill_on_drop: false }`
[INFO] [stdout] d37c989d3d422af35f682e61c9ec59819406f0f71823517d5df363798875740e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a5ed03a041ea8596a6d405c2fe34fef3f4cd9fe8a6fa68072474ae54ce0d958d
[INFO] running `Command { std: "docker" "start" "-a" "a5ed03a041ea8596a6d405c2fe34fef3f4cd9fe8a6fa68072474ae54ce0d958d", kill_on_drop: false }`
[INFO] [stderr]     Checking lifxi v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/selector.rs:203:69
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 203 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 203 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/state.rs:797:69
[INFO] [stdout]     |
[INFO] [stdout] 797 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 797 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 797 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/state.rs:820:69
[INFO] [stdout]     |
[INFO] [stdout] 820 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 820 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 820 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/state.rs:836:69
[INFO] [stdout]     |
[INFO] [stdout] 836 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 836 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 836 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/selector.rs:203:69
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 203 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 203 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/state.rs:797:69
[INFO] [stdout]     |
[INFO] [stdout] 797 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 797 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 797 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/state.rs:820:69
[INFO] [stdout]     |
[INFO] [stdout] 820 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 820 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 820 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/state.rs:836:69
[INFO] [stdout]     |
[INFO] [stdout] 836 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 836 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 836 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/http/state.rs:99:22
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     .into_iter()
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     .iter()
[INFO] [stdout]    |                      ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 let vec: Vec<_> = IntoIterator::into_iter([hue, sat, bright, kelvin])
[INFO] [stdout]    |                                   ++++++++++++++++++++++++                          ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/http/state.rs:99:22
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     .into_iter()
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     .iter()
[INFO] [stdout]    |                      ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 let vec: Vec<_> = IntoIterator::into_iter([hue, sat, bright, kelvin])
[INFO] [stdout]    |                                   ++++++++++++++++++++++++                          ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.61s
[INFO] running `Command { std: "docker" "inspect" "a5ed03a041ea8596a6d405c2fe34fef3f4cd9fe8a6fa68072474ae54ce0d958d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a5ed03a041ea8596a6d405c2fe34fef3f4cd9fe8a6fa68072474ae54ce0d958d", kill_on_drop: false }`
[INFO] [stdout] a5ed03a041ea8596a6d405c2fe34fef3f4cd9fe8a6fa68072474ae54ce0d958d
[INFO] checking lifxi-0.1.1 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate lifxi 0.1.1 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate lifxi 0.1.1 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate lifxi 0.1.1
[INFO] finished tweaking crates.io crate lifxi 0.1.1
[INFO] tweaked toml for crates.io crate lifxi 0.1.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 72286ff5492a7a22b632eb833a3b9980543d9e0427d42383114c8dcb1739d350
[INFO] running `Command { std: "docker" "start" "-a" "72286ff5492a7a22b632eb833a3b9980543d9e0427d42383114c8dcb1739d350", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "72286ff5492a7a22b632eb833a3b9980543d9e0427d42383114c8dcb1739d350", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "72286ff5492a7a22b632eb833a3b9980543d9e0427d42383114c8dcb1739d350", kill_on_drop: false }`
[INFO] [stdout] 72286ff5492a7a22b632eb833a3b9980543d9e0427d42383114c8dcb1739d350
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5f28dc197bdbd352dc3cee4c5a4173a0d73f0018c0620bcda83186ed07c627f3
[INFO] running `Command { std: "docker" "start" "-a" "5f28dc197bdbd352dc3cee4c5a4173a0d73f0018c0620bcda83186ed07c627f3", kill_on_drop: false }`
[INFO] [stderr]     Checking lifxi v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/selector.rs:203:69
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 203 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 203 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/http/selector.rs:284:10
[INFO] [stdout]     |
[INFO] [stdout] 284 |         (from.start..=255).collect::<Vec<_>>().into()
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/http/selector.rs:290:10
[INFO] [stdout]     |
[INFO] [stdout] 290 |         (0..from.end).collect::<Vec<_>>().into()
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/selector.rs:203:69
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 203 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 203 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/http/selector.rs:296:10
[INFO] [stdout]     |
[INFO] [stdout] 296 |         (0..=from.end).collect::<Vec<_>>().into()
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/http/selector.rs:447:44
[INFO] [stdout]     |
[INFO] [stdout] 447 |         let selector = Selector::All.zoned(255..);
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/http/selector.rs:449:44
[INFO] [stdout]     |
[INFO] [stdout] 449 |         let selector = Selector::All.zoned(18..19);
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/http/selector.rs:451:44
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let selector = Selector::All.zoned(3..=5);
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/http/selector.rs:284:10
[INFO] [stdout]     |
[INFO] [stdout] 284 |         (from.start..=255).collect::<Vec<_>>().into()
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/http/selector.rs:290:10
[INFO] [stdout]     |
[INFO] [stdout] 290 |         (0..from.end).collect::<Vec<_>>().into()
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/state.rs:797:69
[INFO] [stdout]     |
[INFO] [stdout] 797 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 797 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 797 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/http/selector.rs:296:10
[INFO] [stdout]     |
[INFO] [stdout] 296 |         (0..=from.end).collect::<Vec<_>>().into()
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/state.rs:820:69
[INFO] [stdout]     |
[INFO] [stdout] 820 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 820 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 820 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/state.rs:836:69
[INFO] [stdout]     |
[INFO] [stdout] 836 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 836 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 836 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/state.rs:797:69
[INFO] [stdout]     |
[INFO] [stdout] 797 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 797 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 797 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/state.rs:820:69
[INFO] [stdout]     |
[INFO] [stdout] 820 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 820 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 820 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/http/state.rs:836:69
[INFO] [stdout]     |
[INFO] [stdout] 836 |     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout]     |                                                                     ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 836 -     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<(Self), D::Error> {
[INFO] [stdout] 836 +     fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/http/client/mod.rs:322:18
[INFO] [stdout]     |
[INFO] [stdout] 322 |         for _ in 1..self.attempts.get() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/http/client/mod.rs:322:18
[INFO] [stdout]     |
[INFO] [stdout] 322 |         for _ in 1..self.attempts.get() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/http/selector.rs:270:11
[INFO] [stdout]     |
[INFO] [stdout] 270 | impl From<::std::ops::Range<u8>> for Zones {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/http/selector.rs:271:19
[INFO] [stdout]     |
[INFO] [stdout] 271 |     fn from(from: ::std::ops::Range<u8>) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeInclusive` type
[INFO] [stdout]    --> src/http/selector.rs:276:11
[INFO] [stdout]     |
[INFO] [stdout] 276 | impl From<::std::ops::RangeInclusive<u8>> for Zones {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]    --> src/http/selector.rs:277:19
[INFO] [stdout]     |
[INFO] [stdout] 277 |     fn from(from: ::std::ops::RangeInclusive<u8>) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/http/selector.rs:282:11
[INFO] [stdout]     |
[INFO] [stdout] 282 | impl From<::std::ops::RangeFrom<u8>> for Zones {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/http/selector.rs:283:19
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn from(from: ::std::ops::RangeFrom<u8>) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/http/state.rs:99:22
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     .into_iter()
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     .iter()
[INFO] [stdout]    |                      ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 let vec: Vec<_> = IntoIterator::into_iter([hue, sat, bright, kelvin])
[INFO] [stdout]    |                                   ++++++++++++++++++++++++                          ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/http/state.rs:99:22
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     .into_iter()
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     .iter()
[INFO] [stdout]    |                      ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 let vec: Vec<_> = IntoIterator::into_iter([hue, sat, bright, kelvin])
[INFO] [stdout]    |                                   ++++++++++++++++++++++++                          ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lifxi` (lib) due to 7 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "5f28dc197bdbd352dc3cee4c5a4173a0d73f0018c0620bcda83186ed07c627f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f28dc197bdbd352dc3cee4c5a4173a0d73f0018c0620bcda83186ed07c627f3", kill_on_drop: false }`
[INFO] [stdout] 5f28dc197bdbd352dc3cee4c5a4173a0d73f0018c0620bcda83186ed07c627f3
